Content reproduction device and content reproduction method

ABSTRACT

A content reproduction device includes a communication unit, a data acquirer, a buffering controller, a buffering condition determiner, a reassembler, and a content reproducer. The communication unit is configured to communicate with an information processing device. The data acquirer is configured to sequentially acquire pieces of data from the information processing device via the communication unit. The buffering controller is configured to buffer the pieces of data in a storage. The buffering condition determiner is configured to determine a buffering condition for buffering the pieces of data, depending on a condition of communication with the information processing device. The reassembler is configured to reassemble the pieces of data buffered in the storage in a predetermined order when the determined buffering condition is satisfied. The content reproducer is configured to reproduce a content based on the reassembled pieces of data.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation application of InternationalApplication No. PCT/JP2016/003803, filed Aug. 22, 2016, which claimspriority to Japanese Patent Application No. 2015-181591, filed Sep. 15,2015. The contents of these applications are incorporated herein byreference in their entirety.

BACKGROUND OF THE INVENTION 1. Field of the Invention

The present invention relates to a content reproduction device and acontent reproduction method.

2. Description of the Related Art

In recent years, content reproduction systems are known in which acontent reproduction device, such as a video reproduction device such asa projector or a display and an audio reproduction device such as amusic player or an audio player, and an information processing devicesuch as a tablet terminal, a PC (Personal Computer), or a smart phone,are connected with each other, and the content reproduction devicereproduces contents such as video and audio based on data such as imagedata and audio data transmitted from the information processing device.

In such a content reproduction system, assume a case in which theinformation processing device has first transmitted data of sequencenumbers #1 and #2 and has then transmitted data of sequence numbers #3and #4 to the content reproduction device, for example.

In this case, depending on the condition of communication with theinformation processing device, the orders of data may be differentbetween the transmitting end and the receiving end, in such a mannerthat the content reproduction device first receives the data of #3 and#4 and then receives the data of #1 and #2.

In such a case, after the content reproduction device reproduced acontent based on the data of #3 and #4, the data that the contentreproduction device has actually received next are the data of #1 and #2although a content based on data of #5 and #6 is to be reproduced next.

Since, however, the content reproduction device can only reproducecontents according to the sequence numbers, the content cannot bereproduced after the content based on the data of #3 and #4 isreproduced.

Thus, content reproduction devices configured to discard data thatshould have come previously but have come later in a different order soas not to stop reproduction of contents are known.

For example, when such a content reproduction device has received thedata of #3 and #4 first and has then received the data of #1 and #2, thecontent reproduction device is configured to discard the data of #1 and#2 so as to prevent reproduction of contents from being stopped.

In such a content reproduction device, however, since data correspondingto a content that should have been reproduced are discarded, part of thecontent is not reproduced, which leads to such a problem of degradationin content reproduction quality.

Thus, a content reproduction device provided with a buffer fortemporarily storing data and configured to store data received until apredetermined time (hereinafter referred to as a “buffering time”)elapses into the buffer and reassemble the data stored in the bufferaccording to sequence numbers after a lapse of the buffering time hasbeen proposed and is already known (refer, for example, to JapaneseUnexamined Patent Application Publication No. 2001-189755).

Such a content reproduction device of the related art as disclosed inJapanese Unexamined Patent Application Publication No. 2001-189755,however, has such a problem in which a content may not be reproduced ata timing when the content should be reproduced and a delay correspondingto the buffering time may occur in the timing of content reproduction.

SUMMARY OF THE INVENTION

According to one aspect of the present invention, a content reproductiondevice includes a communication unit, a data acquirer, a bufferingcontroller, a buffering condition determiner, a reassembler, and acontent reproducer. The communication unit is configured to communicatewith an information processing device. The data acquirer is configuredto sequentially acquire pieces of data from the information processingdevice via the communication unit. The buffering controller isconfigured to buffer the pieces of data in a storage. The bufferingcondition determiner is configured to determine a buffering conditionfor buffering the pieces of data, depending on a condition ofcommunication with the information processing device. The reassembler isconfigured to reassemble the pieces of data buffered in the storage in apredetermined order when the determined buffering condition issatisfied. The content reproducer is configured to reproduce a contentbased on the reassembled pieces of data.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating a mode of operation of a contentreproduction system according to an embodiment of the present invention;

FIG. 2 is a diagram for explaining the order in which image data aretransmitted in transmission of the image data from a client terminal toa projector in a video display system according to an embodiment of thepresent invention;

FIG. 3 is a diagram for explaining processing of RIP packets received bya projector in a video display system of related art;

FIG. 4 is a flowchart for explaining processing for reassembling RIPpackets received by a projector in an order of sequence numbers in avideo display system of related art;

FIG. 5 is a block diagram schematically illustrating a hardwareconfiguration of a projector according to an embodiment of the presentinvention;

FIG. 6 is a block diagram schematically illustrating a functionalconfiguration of a projector according to an embodiment of the presentinvention;

FIG. 7 is a flowchart for explaining processing for reassembling RIPpackets received by a projector in an order of sequence numbers in avideo display system according to an embodiment of the presentinvention;

FIG. 8 is a block diagram illustrating a functional configuration of aprojector according to an embodiment of the present invention;

FIG. 9 is a flowchart for explaining processing for reassembling RTPpackets received by a projector in an order of sequence numbers in avideo display system according to an embodiment of the presentinvention;

FIG. 10 is a block diagram schematically illustrating a functionalconfiguration of a projector according to an embodiment of the presentinvention;

FIG. 11 is a table illustrating an example of a buffering timedetermination table stored by a buffering time storage unit according toan embodiment of the present invention;

FIG. 12 is a flowchart for explaining processing for reassembling RTPpackets received by a projector in an order of sequence numbers in avideo display system according to an embodiment of the presentinvention; and

FIG. 13 is a flowchart for explaining processing for reassembling RTPpackets received by a projector in an order of sequence numbers in avideo display system according to an embodiment of the presentinvention.

The accompanying drawings are intended to depict exemplary embodimentsof the present invention and should not be interpreted to limit thescope thereof. Identical or similar reference numerals designateidentical or similar components throughout the various drawings.

DESCRIPTION OF THE EMBODIMENTS

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the presentinvention.

As used herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise.

In describing preferred embodiments illustrated in the drawings,specific terminology may be employed for the sake of clarity. However,the disclosure of this patent specification is not intended to belimited to the specific terminology so selected, and it is to beunderstood that each specific element includes all technical equivalentsthat have the same function, operate in a similar manner, and achieve asimilar result.

An embodiment of the present invention will be described in detail belowwith reference to the drawings.

An object of an embodiment is to prevent degradation in the quality ofcontent reproduction and reduce delays in content reproduction timing.

In describing preferred embodiments illustrated in the drawings,specific terminology may be employed for the sake of clarity. However,the disclosure of this patent specification is not intended to belimited to the specific terminology so selected, and it is to beunderstood that each specific element includes all technical equivalentsthat have the same function, operate in a similar manner, and achieve asimilar result.

First Embodiment

An embodiment of the present invention is described in detail below withreference to the drawings. In the present embodiment, description willbe given on a content reproduction system in which a contentreproduction device, such as a video reproduction device such as aprojector or a display and an audio reproduction device such as a musicplayer or an audio player, and an information processing device such asa tablet terminal, a PC (Personal Computer), or a smart phone, areconnected with each other, and the content reproduction devicereproduces contents such as video and audio based on data such as imagedata and audio data transmitted from the information processing device.

In particular, in the present embodiment, a video display system inwhich a video display device and an information processing device areconnected with each other and the video display device displays video onthe basis of image data transmitted from the information processingdevice will be described.

First, a mode of operation of the video display system according to thepresent embodiment will be described with reference to FIG. 1. FIG. 1 isa diagram illustrating a mode of operation of the video display systemaccording to the present embodiment.

As illustrated in FIG. 1, the video display system according to thepresent embodiment includes a projector 1 and a client terminal 2connected with each other in such a manner that the projector 1 and theclient terminal 2 can communicate with each other.

The projector 1 modulates light beams emitted from a light sourceaccording to input video signals to form optical images, and projectsthe formed projection images for display on a projection plane such as awall or a screen in an enlarged manner. In the present embodiment, videois projected for display according to image data transmitted from theclient terminal 2.

The client terminal 2 is an information processing terminal operated bya user, and is constituted by an information processing device such as aPC (Personal Computer), a PDA (Personal Digital Assistant), a smartphone, or a tablet terminal.

The projector 1 and the client terminal 2 are connected using interfacesbased on a standard such as LAN (Local Area Network), Ethernet(registered trademark), USB (Universal Serial Bus), Bluetooth(registered trademark), Wi-Fi (Wireless Fidelity) (registeredtrademark), FeliCa (registered trademark), PCIe (Peripheral ComponentInterconnect Express), VGA (Video Graphics Array), DVI (Digital VisualInterface), or IEEE (The Institute of Electrical and ElectronicsEngineers).

Note that an example in which the projector 1 and the client terminal 2are in conformity with Wi-Fi (registered trademark) CERTIFIED Miracastand image data are transmitted and received with use of the Real-timeTransport Protocol (hereinafter referred to as “RTP”) will be describedin the present embodiment.

Next, the order in which image data are transmitted in transmission ofthe image data from the client terminal 2 to the projector 1 in thevideo display system according to the present embodiment will bedescribed with reference to FIG. 2. FIG. 2 is a diagram for explainingthe order in which image data are transmitted in transmission of theimage data from the client terminal 2 to the projector 1 in the videodisplay system according to the present embodiment.

As illustrated in FIG. 2, in transmission/detection of image data usingthe RTP, the client terminal 2 (transmitting end) packetizes image datain units of PESs (Packetized Elementary Streams) for transmission to theprojector 1 (receiving end). Note that each PES is constituted by aplurality of CCs (Continuity Counters). PESs into which image data arethus packetized in units of PESs in this process are referred to asPES#1, PES#2, . . . .

The client terminal 2 (transmitting end) then divides each PES into aplurality of RTP packets for transmission to the projector 1 (receivingend). Assume here that the client terminal 2 (transmitting end) dividesPES#1 into RTP#100 and RTP#101, and PES#2 into RTP#102 and RTP#103. Notethat #00 refers to a sequence number indicating the order in which RTPpackets are transmitted by the client terminal 2.

In this case, the RTP packets should reach the projector 1 in an orderof RTP#100, RTP#101, RTP#102, and RTP#103. Depending on the condition ofcommunication between the projector 1 (receiving end) and the clientterminal 2 (transmitting end), however, the order of the RTP packets maybe different between the transmitting end and the receiving end and theRTP packets may reach the projector 1 in an order of RTP#102, RTP#103,RTP#100, and RTP#101 as illustrated in FIG. 2.

In such a case, although packets to be reconstructed next by theprojector 1 after reconstruction of RTP#102 and RTP#103 are RTP#104 andRTP#105, the packets that are actually received by the projector 1 areRTP#100 and RTP#101.

Since, however, the projector 1 can only reconstruct RTP packets in theorder of the sequence numbers, the projector 1 cannot reconstruct theRTP packets after reconstruction of RTP#102 and RTP#103. Thus, in thiscase, the projector 1 can no longer reproduce video at this point.

In view of this, as illustrated in FIG. 3, the projector 1 may discardRTP packets that should have come previously but have actually comelater in a different order so as not to stop reproduction of video. Inthis case, however, since RTP packets corresponding to video, whichshould have been reproduced, are discarded, part of the video is notreproduced and the quality of video reproduction is degraded.

Thus, in the video display system of the related art, the projector isprovided with a data buffer for temporarily storing data and configuredto store RTP packets received until a predetermined time (hereinafterreferred to as a “buffering time”) elapses in to the data buffer andreassemble the RTP packets stored in the data buffer according tosequence numbers after a lapse of the buffing time.

Here, specific processing for reassembling RTP packets received by theprojector in the order of sequence numbers in the video display systemof the related art will be described with reference to FIG. 4. FIG. 4 isa flowchart for explaining the processing for reassembling RTP packetsreceived by the projector in the order of sequence numbers in the videodisplay system of the related art.

As illustrated in FIG. 4, for reassembling received RTP packets in theorder of sequence numbers in the video display system of the relatedart, the projector first determines the buffering time in advance(S401).

Upon receiving RTP packets (S402), the projector then temporarily storesthe RTP packets in to the data buffer (S403), and determines whether ornot the time elapsed from reception of the first RTP packet has reachedthe buffering time (S404).

The projector then repeats reception of RTP packets and storage of thereceived RTP packets into the data buffer (S402, S403) until the elapsedtime reaches the buffering time (S404/NO).

When the elapsed time has reached the buffering time (S404/YES), theprojector reassembles the RTP packets stored in the data buffer in theorder of sequence numbers (S406) if the RTP packets are not in the orderof sequence numbers (S405/NO) or does not reassemble the RTP packets ifthe RTP packets are in the order of sequence numbers (S405/YES).

The projector then reconstructs image data from the RTP packets in theorder of sequence numbers, and performs projection and display of videoon the basis of the reconstructed image data.

As described above, in the video display system of the related art, theprojector is configured to determine the buffering time in advance andreassemble RTP packets stored in the data buffer until the bufferingtime elapses in the order of sequence numbers.

Note that the buffering time may be short or need not be set under suchconditions where the communication between the projector and the clientterminal is in good condition and where the order of RTP packets at thereceiving end is only a little different or is not different from thatat the transmitting end.

In the video display system of the related art, however, the projectoris provided with a constant buffering time regardless of the conditionof communication with the client terminal as explained with reference toFIG. 4. Thus, in the video display system of the related art, thebuffering time is unnecessarily long in a case where the communicationbetween the projector and the client terminal is in good condition andwhere the order of RTP packets at the receiving end is only a littledifferent or is not different from that at the transmitting end.

Consequently, in the video display system of the related art, the timingof video reproduction is delayed by the time corresponding to theconstant buffing time even when the communication between the projectorand the client terminal is in good condition.

In the video display system according to the present embodiment, theprojector 1 is therefore configured to determine the buffering timedepending on the condition of communication with the client terminal 2.

Specifically, in the video display system according to the presentembodiment, the projector 1 is configured to set a long buffering timewhen the condition of communication with the client terminal 2 is poorand set a short buffering time when the condition of communication withthe client terminal 2 is good.

More specifically, in the video display system according to the presentembodiment, the projector 1 is configured to repeat requestingconnection until a connection response is provided from the clientterminal 2 and determine the buffering time depending on the number ofconnection requests.

In other words, in the video display system according to the presentembodiment, the projector 1 is configured to repeat requestingconnection until a connection response is provided from the clientterminal 2, determine that the condition of communication with theclient terminal 2 is worse and set a longer buffering time as the numberof connection requests is larger, and determine that the condition ofcommunication with the client terminal 2 is better and set a shorterbuffering time as the number of connection requests is smaller.

In the video display system according to the present embodiment, theprojector 1 configured as described above is capable of preventingdegradation in the quality of video reproduction and reducing delays invideo reproduction timing.

Next, hardware configurations of the projector 1 and the client terminal2 according to the present embodiment will be described with referenceto FIG. 5. FIG. 5 is a block diagram schematically illustrating ahardware configuration of the projector 1 according to the presentembodiment. While a hardware configuration of the projector 1 isillustrated as an example in FIG. 5, similar configuration is applicableto the client terminal 2.

As illustrated in FIG. 5, the projector 1 according to the presentembodiment includes a CPU (Central Processing Unit) 10, a RAM (RandomAccess Memory) 20, a ROM (Read Only Memory) 30, a HDD (Hard Disk Drive)40, a projection device 50, an operation device 60, a display device 70,and a communication I/F 80, which are connected with one another via abus 90.

The CPU 10 is computing means that controls operation of the entireprojector 1. The RAM 20 is a volatile storage medium from/into whichinformation can be read and written at high speeds, and is used as aworking area for the CPU 10 to process information. The ROM 30 is aread-only non-volatile storage medium and stores programs such asfirmware.

The HDD 40 is a non-volatile storage medium from/into which informationcan be read and written, and stores various data such as image data, anoperating system (OS), various control programs, application programssuch as content reproduction programs.

The projection device 50 is hardware for implementing special functionsof the projector 1. Specifically, the projection device 50 modulateslight beams emitted from a light source to form optical images, andprojects the formed projection images for display on a projection planesuch as a wall or a screen in an enlarged manner. Note that the clientterminal 2 need not include the projection device 50 since the clientterminal 2 is an information processing terminal to be operated by auser.

The operation device 60 is a user interface for inputting information tothe projector 1, and is constituted by an input device such as akeyboard and a mouse, input buttons, and a touch panel.

The display device 70 is a visual user interface for the user to checkthe state of the projector 1, and is constituted by a display devicesuch as an LCD (Liquid Crystal Display) or an output device such as anLED (Light Emitting Diode).

The communication I/F 80 is an interface for the projector 1 tocommunicate with other devices, and is constituted by an interface basedon a standard such as Ethernet (registered trademark), USB, Bluetooth(registered trademark), Wi-Fi (registered trademark), FeliCa (registeredtrademark), PCIe, or IEEE.

With such a hardware configuration, programs stored in storage mediasuch as the ROM 30 and the HDD 40 are read onto the RAM 20, and the CPU10 performs computation according to the programs loaded onto the RAM 20to form software controllers.

Combination of the thus formed software controllers and hardwareconstitute functional blocks realizing the functions of the projector 1and the client terminal 2 according to the present embodiment.

Next, a functional configuration of the projector 1 according to thepresent embodiment will be described with reference to FIG. 6. FIG. 6 isa block diagram schematically illustrating the functional configurationof the projector 1 according to the present embodiment.

As illustrated in FIG. 6, the projector 1 according to the presentembodiment includes a controller 100, an operation unit 110, a displayunit 120, a network I/F 130, and a projection unit 140. The controller100 includes a main controller 101, an operation display controller 102an input/output controller 103, a projection controller 104, a databuffer 105, a connection request counter 106, and a calculation formulastorage unit 107.

The operation unit 110 is an input interface for the user to directlyoperate the projector 1 or to input information to the projector 1. Theoperation unit 110 is implemented by the operation device 60 illustratedin FIG. 5.

The display unit 120 is an output interface for visually displaying thestate of the projector 1 and also an input interface in a form of atouch panel for the user to directly operate the projector 1 or to inputinformation to the projector 1. Thus, the display unit 120 includes afunction of displaying an image for receiving user's operation. Thedisplay unit 120 is implemented by the display device 70 illustrated inFIG. 5.

The network I/F 130 is an interface for the projector 1 to communicatewith other devices such as the client terminal 2 via a network, and isconstituted by an interface based on a standard such as Ethernet(registered trademark), USB, Bluetooth (registered trademark), Wi-Fi(registered trademark), FeliCa (registered trademark), PCIe, or IEEE.The network I/F 130 is implemented by the communication I/F 80illustrated in FIG. 5. Thus, in the present embodiment, the network I/F130 functions as a communication unit.

The projection unit 140 is an output interface for modulating lightbeams emitted from a light source to form optical images and projectingthe formed projection images for display on a projection plane such as awall or a screen in an enlarged manner. The projection unit 140 isimplemented by the projection device 50 illustrated in FIG. 5.

The controller 100 is implemented by combination of software andhardware. Specifically, the controller 100 is constituted by softwarecontrollers, which are formed by loading programs stored in storagemedia such as the ROM 30 and the HDD 40 onto the RAM 20 and performingcomputation according to the programs by the CPU 10, and hardware suchas integrated circuits.

The main controller 101 serves to control respective components includedin the controller 100, and gives instructions to the respectivecomponents of the controller 100. The main controller 101 also controlsthe input/output controller 103 to access other devices via the networkI/F 130.

The operation display controller 102 displays screens on the displayunit 120 under the control of the main controller 101 or inputsinformation, signals, and instructions input via the operation unit 110to the main controller 101. The main controller 101 then givesinstructions to the respective components of the controller 100according to the information, signals, and instructions input from theoperation display controller 102.

The input/output controller 103 transmits information, signals, andinstructions to other devices via the network I/F 130 under the controlof the main controller 101 or inputs information, signals, andinstructions input via the network I/F 130 to the main controller 101.The main controller 101 then gives instructions to the respectivecomponents of the controller 100 according to the information, signals,and instructions input from the input/output controller 103.

The projection controller 104 controls or drives the projection unit 140under the control of the main controller 101. The data buffer 105temporarily stores image data transmitted from the client terminal 2.

The connection request counter 106 counts the number of connectionrequests made by the projector 1 to the client terminal 2. Thecalculation formula storage unit 107 stores a calculation formula forcalculating the buffering time.

Next, specific processing for reassembling RTP packets received by theprojector 1 in the order of sequence numbers in the video display systemaccording to the present embodiment will be described with reference toFIG. 7. FIG. 7 is a flowchart for explaining the processing forreassembling RTP packets received by the projector 1 in the order ofsequence numbers in the video display system according to the presentembodiment.

As illustrated in FIG. 7, for reassembling RTP packets received by theprojector 1 in the order of the sequence numbers in the video displaysystem according to the present embodiment, the main controller 101first controls the input/output controller 103 to request connection tothe client terminal 2 (S701).

The main controller 101 then determines whether or not a connectionresponse is provided from the client terminal 2 in response to theconnection request made in S701 before a lapse of a certain time fromthe connection request (S702).

Note that the projector 1 uses Wi-Fi (registered trademark) Direct as acommunication path between the projector 1 and the client terminal 2 inthe video display system according to the present embodiment. Theprojector 1 makes the connection request until the communication withthe client terminal 2 is established, that is, until a connectionrequest comes from the client terminal 2 by using CSMA/CA according tothe specification of IEEE802.11 in a communication counterpart searchphase using the Wi-Fi (registered trademark) Direct.

If no connection response has been provided until the certain timeelapses after the connection request in the determination process inS702 (S702/NO), the main controller 101 then adds 1 to the count of theconnection request counter 106 (S703).

If a connection response is provided before the certain time elapsesafter the connection request in the determination process in S702(S702/YES), the main controller 101 calculates the buffering time on thebasis of the count of the connection request counter 106 and thecalculation formula stored in the calculation formula storage unit 107(S704). Thus, in the present embodiment, the main controller 101functions as a buffering condition determining unit to determine thebuffering time as a buffering condition.

In this process, the main controller 101 calculates the buffering timeby a calculation formula “buffering time=T₁+count×T₂” stored in thecalculation formula storage unit 107. In the formula, T₁ and T₂ aregiven positive integers. Note that T₁ and T₂ may be fixed values or maybe values set by the user in the projector 1 according to the presentembodiment.

Upon receiving RTP packets from the client terminal 2 (S705), the maincontroller 101 then temporarily stores the RTP packets in the databuffer 105 (S706). Thus, in the present embodiment, the main controller101 also functions as a data acquisition unit and a bufferingcontroller, and the data buffer 105 functions as a storage unit.

The main controller 101 then determines whether or not the time elapsedfrom reception of the first RTP packet has reached the buffering timecalculated in S704 (S707).

The main controller 101 then repeats reception of RTP packets andstorage of the received RTP packets into the data buffer 105 (S705,S706) until the elapsed time reaches the buffering time calculated inS704 (S707/NO).

When the elapsed time has reached the buffering time calculated in S704(S707/YES), the main controller 101 then reassembles the RTP packetsstored in the data buffer 105 in the order of sequence numbers (S709) ifthe RTP packets are not in the order of sequence numbers (S708/NO) ordoes not reassemble the RTP packets if the RTP packets are in the orderof sequence numbers (S708/YES). Thus, in the present embodiment, themain controller 101 functions as a reassembling unit.

The main controller 101 then reconstructs image data from the RTPpackets in the order of sequence numbers, and controls the projectioncontroller 104 to project and display video from the projection unit 140on the basis of the reconstructed image data. Thus, in the presentembodiment, the main controller 101 functions as a content reproducingunit.

The main controller 101 then repeats the processing from S705 (S705,S706) until reception of RTP packets is terminated (S710/NO), and clearsthe count of the connection request counter 106 (S711) when reception ofRTP packets is terminated (S710/YES).

As described above, in the video display system according to the presentembodiment, the projector 1 is configured to determine the bufferingtime depending on the condition of communication with the clientterminal 2.

Specifically, in the video display system according to the presentembodiment, the projector 1 is configured to set a long buffering timewhen the condition of communication with the client terminal 2 is poorand set a short buffering time when the condition of communication withthe client terminal 2 is good.

More specifically, in the video display system according to the presentembodiment, the projector 1 is configured to repeat requestingconnection until a connection response is provided from the clientterminal 2 and determine the buffering time depending on the number ofconnection requests.

In other words, in the video display system according to the presentembodiment, the projector 1 is configured to repeat requestingconnection until a connection response is provided from the clientterminal 2, determine that the condition of communication with theclient terminal 2 is worse and set a longer buffering time as the numberof connection requests is larger, and determine that the condition ofcommunication with the client terminal 2 is better and set a shorterbuffering time as the number of connection requests is smaller.

In the video display system according to the present embodiment, theprojector 1 configured as described above is capable of preventingdegradation in the quality of video reproduction and reducing delays invideo reproduction timing.

In the present embodiment, the projector 1 configured to determine thebuffering time depending on the number of connection requests has beendescribed. Alternatively, the projector 1 according to the presentembodiment may be configured to determine the buffering tie depending onan elapsed time from a connection request to the client terminal 2 untila connection response from the client terminal 2, or may be configuredto determine the buffering time depending on an elapsed time from startof a process for connection with the client terminal 2 until theconnection is established.

Second Embodiment

In the first embodiment, the projector 1 configured to repeat requestingconnection until a connection response is provided from the clientterminal 2 and determine the buffering time depending on the number ofconnection requests has been described.

In contrast, in the present embodiment, a projector 1 configured todetermine the buffering time depending on a bit rate of a communicationpath between the projector 1 and a client terminal 2 will be described.

Specifically, in a video display system according to the presentembodiment, the projector 1 is configured to determine that thecondition of communication with the client terminal 2 is worse and set along buffering time as the bit rate of the communication path betweenthe projector 1 and the client terminal 2 is lower, and determine thatthe condition of communication with the client terminal 2 is better andset a short buffering time as the bit rate is higher.

In the video display system according to the present embodiment, theprojector 1 configured as described above is capable of preventingdegradation in the quality of video reproduction and reducing delays invideo reproduction timing.

An embodiment of the present invention will be described in detail belowwith reference to the drawings. Note that components designated by thesame reference numerals as those in the first embodiment are the same orcorresponding components, and detailed description thereof will not berepeated.

First, a functional configuration of the projector 1 according to thepresent embodiment will be described with reference to FIG. 8. FIG. 8 isa block diagram schematically illustrating the functional configurationof the projector 1 according to the present embodiment.

As illustrated in FIG. 8, the projector 1 according to the presentembodiment includes a control parameter storage unit 108. The controlparameter storage unit 108 stores the bit rate of the communication pathbetween the projector 1 and the client terminal 2.

Next, specific processing for reassembling RTP packets received by theprojector 1 in the order of sequence numbers in the video display systemaccording to the present embodiment will be described with reference toFIG. 9. FIG. 9 is a flowchart for explaining the processing forreassembling RTP packets received by the projector 1 in the order ofsequence numbers in the video display system according to the presentembodiment.

As illustrated in FIG. 9, for reassembling RTP packets received by theprojector 1 in the order of sequence numbers in the video display systemaccording to the present embodiment, the main controller 101 firstacquires the bit rate of the communication path between the projector 1and the client terminal 2 at predetermined time intervals, and storesthe bit rates in the control parameter storage unit 108 (S901).

In this process, the main controller 101 changes the predetermined timedepending on a change in the bit rate in such a manner as to shorten thepredetermined time when the bit rate of the communication path betweenthe projector 1 and the client terminal 2 is determined to have changedgreatly or to lengthen the predetermined time when the bit rate isdetermined to have changed gradually.

The main controller 101 then calculates the buffering time on the basisof the bit rates stored in the control parameter storage unit 108 andthe calculation formula stored in the calculation formula storage unit107 (S902).

In this process, the main controller 101 calculates the buffering timeby a calculation formula “buffering time=T₁+(T₃−bit rate)×T₄” or“buffering time=T₁+{(T₃/bit rate)−1}×T₅” stored in the calculationformula storage unit 107. In the formulae, T₃, T₄, and T₅ are givenpositive integers. Note that T₃, T₄, and T₅ may be fixed values or maybe values set by the user in the projector 1 according to the presentembodiment.

Furthermore, T₃ may be set to a maximum value of the bit rate of thecommunication path between the projector 1 and the client terminal 2 sothat the buffering time is shortest when the actual bit rate is themaximum value.

Upon receiving RTP packets from the client terminal 2 (S903), the maincontroller 101 then temporarily stores the RTP packets in the databuffer 105 (S904).

The main controller 101 then determines whether or not the time elapsedfrom reception of the first RTP packet has reached the buffering timecalculated in S902 (S905).

The main controller 101 then repeats reception of RTP packets andstorage of the received RTP packets into the data buffer 105 (S903,S904) until the elapsed time reaches the buffering time calculated inS902 (S905/NO).

When the elapsed time has reached the buffering time calculated in S902(S905/YES), the main controller 101 then reassembles the RTP packetsstored in the data buffer 105 in the order of sequence numbers (S907) ifthe RTP packets are not in the order of sequence numbers (S906/NO) ordoes not reassemble the RTP packets if the RTP packets are in the orderof sequence numbers (S906/YES).

The main controller 101 then reconstructs image data from the RTPpackets in the order of sequence numbers, and controls the projectioncontroller 104 to project and display video from the projection unit 140on the basis of the reconstructed image data.

The main controller 101 then repeats the processing from S901 (S901 toS907) until reception of RTP packets is terminated (S908/NO), and clearsthe bit rates stored in the control parameter storage unit 108 (S909)when reception of RTP packets is terminated (S908/YES).

As described above, in the video display system according to the presentembodiment, the projector 1 is configured to determine the bufferingtime depending on the bit rate of the communication path between theprojector 1 and the client terminal 2.

Specifically, in a video display system according to the presentembodiment, the projector 1 is configured to determine that thecondition of communication with the client terminal 2 is worse and set along buffering time as the bit rate of the communication path betweenthe projector 1 and the client terminal 2 is lower, and determine thatthe condition of communication with the client terminal 2 is better andset a short buffering time as the bit rate is higher.

In the video display system according to the present embodiment, theprojector 1 configured as described above is capable of preventingdegradation in the quality of video reproduction and reducing delays invideo reproduction timing.

Third Embodiment

In the first embodiment, the projector 1 configured to repeat requestingconnection until a connection response is provided from the clientterminal 2 and determine the buffering time depending on the number ofconnection requests has been described. In the second embodiment, theprojector 1 configured to determine the buffering time depending on thebit rate of the communication path between the projector 1 and theclient terminal 2 has been described.

In contrast, in the present embodiment, a projector 1 configured todetermine the buffering time depending on the type of data (hereinafterreferred to as a “data type”) transmitted from a client terminal 2 willbe described.

Specifically, in a video display system according to the presentembodiment, the projector 1 is configured to determine that the order ofRTP packets is more likely to be different between the receiving end andthe transmitting end and set a longer buffering time as the data amountof data of a data type transmitted from the client terminal 2 is larger,and determine that the order of RTP packets is less likely to bedifferent between the receiving end and the transmitting end and set ashorter buffering time as the amount of data of a data type is smaller.

In the video display system according to the present embodiment, theprojector 1 configured as described above is capable of preventingdegradation in the quality of video reproduction and reducing delays invideo reproduction timing.

An embodiment of the present invention is described in detail below withreference to the drawings. Note that components designated by the samereference numerals as those in the first and second embodiments are thesame or corresponding components, and detailed description thereof willnot be repeated.

First, a functional configuration of the projector 1 according to thepresent embodiment will be described with reference to FIG. 10. FIG. 10is a block diagram schematically illustrating the functionalconfiguration of the projector 1 according to the present embodiment. Asillustrated in FIG. 10, the projector 1 according to the presentembodiment includes a buffering time storage unit 109. The bufferingtime storage unit 109 stores a buffering time determination table.

Here, the buffering time determination table stored in the bufferingtime storage unit 109 according to the present embodiment will bedescribed with reference to FIG. 11. FIG. 11 is a table illustrating anexample of the buffering time determination table stored by thebuffering time storage unit 109 according to the present embodiment. Inthe description below, assume that the data amounts of data comparedusing the same reproduction time satisfy the relation ofaudio<video<best effort<background.

As illustrated in FIG. 11, in the buffering time determination tablestored by the buffering time storage unit 109 according to the presentembodiment, the buffering time is associated with each data type. InFIG. 11, T₆, T₇, T₈, and T₉ are given positive integers satisfying therelation of T₆<T₇<T₈<T₉. Note that T₆, T₇, T₈, and T₉ may be fixedvalues or may be values set by the user in the projector 1 according tothe present embodiment.

As described above, in the buffering time determination table in thepresent embodiment, a data type whose data amount is smaller isassociated with a shorter buffering time while a data type whose dataamount is larger is associated with a longer buffering time.

In addition, in the video display system according to the presentembodiment, the projector 1 is configured to determine a buffering timeassociated with the same data type as the data type of data transmittedfrom the client terminal 2 to be a latest buffering time among thebuffering times in the buffering time determination table.

This is because the order of RTP packets is more likely to be differentbetween the receiving end and the transmitting end and the bufferingtime thus needs to be longer as the data amount of data of a data typetransmitted from the client terminal 2 is larger, while the order of RTPpackets is less likely to be different between the receiving end and thetransmitting end and the buffering time may be shorter as the dataamount of data of a data type is smaller.

Next, specific processing for reassembling RTP packets received by theprojector 1 in the order of sequence numbers in the video display systemaccording to the present embodiment will be described with reference toFIG. 12. FIG. 12 is a flowchart for explaining the processing forreassembling RTP packets received by the projector 1 in the order ofsequence numbers in the video display system according to the presentembodiment.

As illustrated in FIG. 12, for reassembling RTP packets received by theprojector 1 in the order of sequence numbers in the video display systemaccording to the present embodiment, upon receiving RTP packets (S1201)the main controller 101 first temporarily stores the RTP packets intodata buffer 105 (S1202).

The main controller 101 then determines whether or not a predeterminedtime has elapsed from previous determination of the buffering time(S1203).

In this process, the main controller 101 changes the predetermined timedepending on a change in the data type in such a manner as to shortenthe predetermined time when the data type is determined to have changedgreatly or to lengthen the predetermined time when the data type isdetermined to have changed gradually.

If the predetermined time is determined to have elapsed In thedetermination process in S1203 (S1203/YES), the main controller 101 thendetermines the data type of the RIP packets received in S1201 (S1204).

The main controller 101 then determines a buffering time associated withthe same data type as the data type determined in S1203 to be the latestbuffering time among the buffering times in the buffering timedetermination table (S1205).

If the predetermined time is determined not to have elapsed in thedetermination process in S1203 (S1203/NO) or after the buffering time isdetermined in S1205, the main controller 101 then determines whether ornot the time elapsed from reception of the first RIP packet has reachedthe buffering time determined in S1205 (S1206).

The main controller 101 then repeats the processing of S1201 to S1205until the elapsed time reaches the buffering time determined in S1205(S1206/NO).

When the elapsed time has reached the buffering time determined in S1205(S1206/YES), the main controller 101 then reassembles the RTP packetsstored in the data buffer 105 in the order of sequence numbers (S1208)if the RTP packets are not in the order of sequence numbers (S1207/NO)or does not reassemble the RTP packets if the RTP packets are in theorder of sequence numbers (S1207/YES).

The main controller 101 then reconstructs image data from the RTPpackets in the order of sequence numbers, and controls the projectioncontroller 104 to project and display video from the projection unit 140on the basis of the reconstructed image data.

The main controller 101 then repeats the processing from S1201 (S1201 toS1208) until reception of RTP packets is terminated (S1209/NO), andterminates the processing for reassembling RTP packets in the order ofsequence numbers when reception of RTP packets is terminated(S1209/YES).

As described above, in the video display system according to the presentembodiment, the projector 1 is configured to determine the bufferingtime depending on the data type of data transmitted from the clientterminal 2.

Specifically, in a video display system according to the presentembodiment, the projector 1 is configured to determine that the order ofRTP packets is more likely to be different between the receiving end andthe transmitting end and set a longer buffering time as the data amountof data of a data type transmitted from the client terminal 2 is larger,and determine that the order of RTP packets is less likely to bedifferent between the receiving end and the transmitting end and set ashorter buffering time as the amount of data of a data type is smaller.

In the video display system according to the present embodiment, theprojector 1 configured as described above is capable of preventingdegradation in the quality of video reproduction and reducing delays invideo reproduction timing.

Fourth Embodiment

In the first embodiment, the projector 1 configured to repeat requestingconnection until a connection response is provided from the clientterminal 2 and determine the buffering time depending on the number ofconnection requests has been described. In the second embodiment, theprojector 1 configured to determine the buffering time depending on thebit rate of the communication path between the projector 1 and theclient terminal 2 has been described. In the third embodiment, theprojector 1 configured to determine the buffering time depending on thedata type of data transmitted from the client terminal 2 has beendescribed.

In contrast, in the present embodiment, a projector 1 configured todetermine the buffering time depending on the amount of data transmittedfrom a client terminal 2 will be described.

Specifically, in a video display system according to the presentembodiment, the projector 1 is configured to determine that the order ofRTP packets is more likely to be different between the receiving end andthe transmitting end and set a longer buffering time as the amount ofdata transmitted from the client terminal 2 is larger, and determinethat the order of RTP packets is less likely to be different between thereceiving end and the transmitting end and set a shorter buffering timeas the amount of data is smaller.

In the video display system according to the present embodiment, theprojector 1 configured as described above is capable of preventingdegradation in the quality of video reproduction and reducing delays invideo reproduction timing.

An embodiment of the present invention is described in detail below withreference to the drawings. Note that components designated by the samereference numerals as those in the first to third embodiments are thesame or corresponding components, and detailed description thereof willnot be repeated.

First, a functional configuration of the projector 1 according to thepresent embodiment will be described with reference to FIG. 8 again. Asillustrated in FIG. 8, the projector 1 according to the presentembodiment includes a control parameter storage unit 108. The controlparameter storage unit 108 stores the amount of data the projector 1receives from the client terminal 2.

Next, specific processing for reassembling RTP packets received by theprojector 1 in the order of sequence numbers in the video display systemaccording to the present embodiment will be described with reference toFIG. 13. FIG. 13 is a flowchart for explaining the processing forreassembling RTP packets received by the projector 1 in the order ofsequence numbers in the video display system according to the presentembodiment.

As illustrated in FIG. 13, for reassembling RTP packets received by theprojector 1 in the order of sequence numbers in the video display systemaccording to the present embodiment, the main controller 101 firstinquires of the client terminal 2 the amount of image data to betransmitted (S1301).

Upon acquiring the data amount from the client terminal 2 in response tothe inquiry in S1301, the main controller 101 then stores the dataamount in the control parameter storage unit 108 (S1302).

The main controller 101 then calculates the buffering time on the basisof the data amount stored in the control parameter storage unit 108 andthe calculation formula stored in the calculation formula storage unit107 (S1303).

In this process, the main controller 101 calculates the buffering timeby a calculation formula “buffering time=T₁+(data amount−T₁₁)×T₁₂” or“buffering time=T₁+{1−(T₁₁/data amount)}×T₁₁” stored in the calculationformula storage unit 107. In the formulae, T₁₁, T₁₂, and T₁₃ are givenpositive integers. Note that T_(n), T₁₂, and T₁₃ may be fixed values ormay be values set by the user in the projector 1 according to thepresent embodiment.

Upon receiving RTP packets from the client terminal 2 (S1304), the maincontroller 101 then temporarily stores the RTP packets in the databuffer 105 (S1305).

The main controller 101 then determines whether or not the time elapsedfrom reception of the first RTP packet has reached the buffering timecalculated in S1303 (S1306).

The main controller 101 then repeats reception of RTP packets andstorage of the received RTP packets into the data buffer 105 (S1304,S1305) until the elapsed time reaches the buffering time calculated inS1303 (S1306/NO).

When the elapsed time has reached the buffering time calculated in S1303(S1306/YES), the main controller 101 then reassembles the RTP packetsstored in the data buffer 105 in the order of sequence numbers (S1308)if the RTP packets are not in the order of sequence numbers (S1307/NO)or does not reassemble the RTP packets if the RTP packets are in theorder of sequence numbers (S1307/YES).

The main controller 101 then reconstructs image data from the RTPpackets in the order of sequence numbers, and controls the projectioncontroller 104 to project and display video from the projection unit 140on the basis of the reconstructed image data.

The main controller 101 then repeats the processing from S1304 (S1304 toS1308) until reception of RTP packets is terminated (S1309/NO), andclears the data amount stored in the control parameter storage unit 108(S1310) when reception of RTP packets is terminated (S1309/YES).

As described above, in the video display system according to the presentembodiment, the projector 1 is configured to determine the bufferingtime depending on the amount of data transmitted from the clientterminal 2.

Specifically, in a video display system according to the presentembodiment, the projector 1 is configured to determine that the order ofRTP packets is more likely to be different between the receiving end andthe transmitting end and set a longer buffering time as the amount ofdata transmitted from the client terminal 2 is larger, and determinethat the order of RTP packets is less likely to be different between thereceiving end and the transmitting end and set a shorter buffering timeas the amount of data is smaller.

In the video display system according to the present embodiment, theprojector 1 configured as described above is capable of preventingdegradation in the quality of video reproduction and reducing delays invideo reproduction timing.

In the first to fourth embodiments, the projectors 1 configured tocalculate or determine the buffering time depending on the number ofconnection requests, the bit rate, the data type, and the data amount,respectively, have been described. Alternatively, the projectors 1according to the first to fourth embodiments may be configured tocalculate or determine the buffering size depending on the number ofconnection requests, the bit rate, the data type, and the data mount,respectively.

When the projectors 1 according to the first to fourth embodiments arethus configured, RTP packets corresponding to the calculated ordetermined buffering size are stored in the data buffer 105. When thedata size of the RTP packets stored in the data buffer 105 reaches thebuffering size, the projectors 1 then reassemble the RTP packets storedin the data buffer 105 in the order of sequence numbers.

According to an embodiment of the present invention, degradation in thequality of content reproduction is prevented and delays in contentreproduction timing are reduced.

The above-described embodiments are illustrative and do not limit thepresent invention. Thus, numerous additional modifications andvariations are possible in light of the above teachings. For example, atleast one element of different illustrative and exemplary embodimentsherein may be combined with each other or substituted for each otherwithin the scope of this disclosure and appended claims. Further,features of components of the embodiments, such as the number, theposition, and the shape are not limited the embodiments and thus may bepreferably set. It is therefore to be understood that within the scopeof the appended claims, the disclosure of the present invention may bepracticed otherwise than as specifically described herein.

The method steps, processes, or operations described herein are not tobe construed as necessarily requiring their performance in theparticular order discussed or illustrated, unless specificallyidentified as an order of performance or clearly identified through thecontext. It is also to be understood that additional or alternativesteps may be employed.

Each of the functions of the described embodiments may be implemented byone or more processing circuits or circuitry. Processing circuitryincludes a programmed processor, as a processor includes circuitry. Aprocessing circuit also includes devices such as an application specificintegrated circuit (ASIC), digital signal processor (DSP), fieldprogrammable gate array (FPGA) and conventional circuit componentsarranged to perform the recited functions.

What is claimed is:
 1. A content reproduction device, comprising: acommunication interface configured to communicate with an informationprocessing device; and processing circuitry configured to sequentiallyacquire pieces of data from the information processing device via thecommunication interface; buffer the acquired pieces of data in a firstmemory; determine a buffering condition for buffering the acquiredpieces of data in the first memory, depending on a condition ofcommunication with the information processing device; reassemble thepieces of data buffered in the first memory in a predetermined orderwhen the determined buffering condition is satisfied; and reproduce acontent based on the reassembled pieces of data, wherein the processingcircuitry is further configured to, when communication is establishedbetween the information processing device and the content reproductiondevice, calculate a buffering time for buffering the pieces of data inthe first memory based on a count of a counter and a calculation formulastored in a second memory, wherein the count is incremented after acertain time elapses from when the processing circuitry requestsconnection to the information processing device while a response fromthe information processing device is not received, and when a timeelapsed from start of the buffering of the acquired pieces of data inthe first memory has reached the calculated buffering time, theprocessing circuitry is further configured to reassemble the pieces ofdata buffered in the first memory in a predetermined order.
 2. Thecontent reproduction device according to claim 1, wherein the processingcircuitry is further configured to determine the buffering conditiondepending on a number of retransmission requests or connection requestsmade to the information processing device.
 3. The content reproductiondevice according to claim 1, wherein the processing circuitry is furtherconfigured to determine the buffering condition depending on an elapsedtime from start of a process for connection with the informationprocessing device until the connection is established.
 4. The contentreproduction device according to claim 1, wherein the processingcircuitry is further configured to determine the buffering conditiondepending on a bit rate of a communication path to/from the informationprocessing device.
 5. The content reproduction device according to claim1, wherein the processing circuitry is further configured to determinethe buffering condition depending on a data type of the acquired piecesof data.
 6. The content reproduction device according to claim 1,wherein the processing circuitry is further configured to determine thebuffering condition depending on an amount of the acquired pieces ofdata.
 7. The content reproduction device according to claim 1, whereinthe processing circuitry is further configured to determine a bufferingsize for buffering the acquired pieces of data in the first memorydepending on a condition of communication with the informationprocessing device, and when a data size of the pieces of data bufferedin the first memory has reached the determined buffering size,reassemble the pieces of data buffered in the first memory in apredetermined order.
 8. A content reproduction method, comprising:communicating with an information processing device via a communicationinterface; determining a buffering condition for buffering pieces ofdata acquired from the information processing device in a first memory,depending on a condition of communication with the informationprocessing device; sequentially acquiring pieces of data from theinformation processing device via the communication interface; bufferingthe acquired pieces of data in the first memory; reassembling the piecesof data buffered in the first memory in a predetermined order when thedetermined buffering condition is satisfied; and reproducing a contentbased on the reassembled pieces of data, wherein the determining stepfurther comprises, when communication is established between theinformation processing device and the content reproduction device,calculating a buffering time for buffering the pieces of data in thefirst memory based on a count of a counter and a calculation formulastored in a second memory, wherein the count is incremented after acertain time elapses from when a connection to the informationprocessing device is requested while a response from the informationprocessing device is not received, and the reassembling step includesreassembling, when a time elapsed from start of the buffering of theacquired pieces of data in the first memory has reached the determinedbuffering time, the pieces of data buffered in the first memory in apredetermined order.
 9. The content reproduction device of claim 1,wherein the processing circuitry is further configured to request theconnection to the information processing device, and when the responseto the request is not received, increment the count, and repeat therequest.
 10. The content reproduction device of claim 1, wherein whenthe response is received before the certain time elapses after therequest, the processing circuitry is configured to calculate thebuffering time.
 11. The content reproduction device of claim 1, whereinthe processing circuitry is further configured to calculate thebuffering time using the calculation formula, which is a linear functionof the count.